﻿using System;

using Rarous.TexyNet.Configuration;
using Rarous.TexyNet.Modules;

using Xunit;

namespace Rarous.TexyNet.Test {

  /// <summary>
  /// This is a test class for QuoteModuleTest and is intended
  /// to contain all QuoteModuleTest Unit Tests
  /// </summary>
  public class QuoteModuleTest {

    /// <summary>
    /// A test for AllowedLineTest
    /// </summary>
    [Fact]
    public void QuoteModule_AllowedLine_PropertyBehavior() {
      QuoteModule target = new QuoteModule();
      bool expected = true;
      target.AllowedLine = expected;

      Assert.Equal(expected, target.AllowedLine);
    }

    /// <summary>
    /// A test for AllowedBlockTest
    /// </summary>
    [Fact]
    public void QuoteModule_AllowedBlock_PropertyBehavior() {
      QuoteModule target = new QuoteModule();
      bool expected = true;
      target.AllowedBlock = expected;

      Assert.Equal(expected, target.AllowedBlock);
    }

    /// <summary>
    /// A test for QuoteModuleConstructorTest1
    /// </summary>
    [Fact]
    public void QuoteModule_Constructor_Default() {
      QuoteModule target = new QuoteModule();

      Assert.True(target.AllowedBlock);
      Assert.True(target.AllowedLine);
    }

    /// <summary>
    /// A test for QuoteModuleConstructorTest
    /// </summary>
    [Fact]
    public void QuoteModule_Constructor_NullConfigElement() {
      QuoteModule target = new QuoteModule(null);

      Assert.True(target.AllowedBlock);
      Assert.True(target.AllowedLine);
    }
  }
}
